package com.scs.application.modules.wm.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * <p>
 *
 * </p>
 *
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "跟台手术清点明细表")
@TableName("wm_oprt_check_item")
public class OprtCheckItem extends DataEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "清点单主键id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String checkId;


    @EntityFieldAnnotation(
            text = "跟台入库明细主键",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String workOrderItemId;

    @EntityFieldAnnotation(
            text = "=wm_stock.id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "0",
            comment = ""
    )
    private String stockId;

    @EntityFieldAnnotation(
            text = "原始入库单明细ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String lineId;

    @EntityFieldAnnotation(
            text = "供应商ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String supplierId;

    @EntityFieldAnnotation(
            text = "供应商名称",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String supplierName;

    @EntityFieldAnnotation(
            text = "包id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String packId;

    @EntityFieldAnnotation(
            text = "包内耗材对应包所在主键id",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String packCheckItemId;

    @EntityFieldAnnotation(
            text = "移出库存地ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String warehouseIdFrom;

    @EntityFieldAnnotation(
            text = "移入库存地ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String warehouseIdTo;

    @EntityFieldAnnotation(
            text = "0:非包装耗材; 1:跟台包",
            length = "30",
            not_null = false,
            default_value = "0",
            comment = ""
    )
    private String matrType;

    @EntityFieldAnnotation(
            text = "物料ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrId;

    @EntityFieldAnnotation(
            text = "物料名称",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrName;

    @EntityFieldAnnotation(
            text = "物料品规",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String matrSpec;

    @EntityFieldAnnotation(
            text = "包装单位",
            length = "10",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String packageUnit;

    @EntityFieldAnnotation(
            text = "包装数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double packageQty;

    @EntityFieldAnnotation(
            text = "单品价格",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double skuPrice;

    @EntityFieldAnnotation(
            text = "单品数量",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double skuQty;

    @EntityFieldAnnotation(
            text = "消耗数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "患者消耗"
    )
    private Double patientQty;

    @EntityFieldAnnotation(
            text = "退货数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "退货给供应商数量"
    )
    private Double spQty;

    @EntityFieldAnnotation(
            text = "退洁数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "回原库存地的数量"
    )
    private Double returnCleanQty;

    @EntityFieldAnnotation(
            text = "退污数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "污染的物品数量"
    )
    private Double returnPolluteQty;

    @EntityFieldAnnotation(
            text = "报损数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "科室消耗"
    )
    private Double deptQty;

    @EntityFieldAnnotation(
            text = "运营报损数量",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "运营方承担"
    )
    private Double manageQty;

    @EntityFieldAnnotation(
            text = "目标库存地ID",
            length = "",
            not_null = false,
            default_value = "",
            comment = "return_clean默认"
    )
    private Double cleanWarehouseId;

    @EntityFieldAnnotation(
            text = "目标库存地ID",
            length = "",
            not_null = false,
            default_value = "",
            comment = "return_pollute默认供应室"
    )
    private Double polluteWarehouseId;

    @EntityFieldAnnotation(
            text = "总数量和各种之和是否相等",
            length = "",
            not_null = false,
            default_value = "0",
            comment = "控制字段"
    )
    private Boolean flagBalance;

    @EntityFieldAnnotation(
            text = "金额",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Double amount;

    @EntityFieldAnnotation(
            text = "批次",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String lot;

    @EntityFieldAnnotation(
            text = "注册证号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String certificateNo;

    @EntityFieldAnnotation(
            text = "效期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date expDate;

    @EntityFieldAnnotation(
            text = "生产日期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date mfgDate;

    @EntityFieldAnnotation(
            text = "厂商",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String mfgName;

    @EntityFieldAnnotation(
            text = "",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String sn;

    @EntityFieldAnnotation(
            text = "",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String rfid;

    @EntityFieldAnnotation(
            text = "",
            length = "50",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String udi;

    @EntityFieldAnnotation(
            text = "备注",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

    @EntityFieldAnnotation(
            text = "耗材型号",
            length = "100",
            not_null = false,
            default_value = "",
            comment = "耗材型号"
    )
    private String matrModel;

}
